package com.cxmx.escort.base;

import com.google.common.collect.Maps;

import java.util.Map;

/**
 * package com.sxd.sweeping.response;
 * <p>
 * import com.google.common.collect.Maps;
 * <p>
 * import java.util.Map;
 * <p>
 * /**
 * 统一返回客户端数据格式
 *
 * @author sxd
 * @since 2018/4/1
 */
@SuppressWarnings("unchecked")
public class ResponseFormat {

    private static Map<Integer, String> messageMap = Maps.newHashMap();

    //初始化状态码与文字说明
    static {
        /* 成功状态码 */
        messageMap.put(200, "成功");

        /* 服务器错误 */
        messageMap.put(1000, "服务器错误");

        /* 参数错误：10001-19999 */
        messageMap.put(10001, "参数无效");
        messageMap.put(10002, "参数为空");
        messageMap.put(10003, "参数类型错误");
        messageMap.put(10004, "参数缺失");

        /* 用户错误：20001-29999*/
        messageMap.put(20001, "用户未登录");
        messageMap.put(20002, "账号不存在或密码错误");
        messageMap.put(20003, "账号已被禁用");
        messageMap.put(20004, "用户不存在");
        messageMap.put(20005, "用户已存在");

        /* 业务错误：30001-39999 */
        messageMap.put(30001, "某业务出现问题");

        /* 系统错误：40001-49999 */
        messageMap.put(40001, "系统繁忙，请稍后重试");

        /* 数据错误：50001-599999 */
        messageMap.put(50001, "数据未找到");
        messageMap.put(50002, "数据有误");
        messageMap.put(50003, "数据已存在");
        messageMap.put(50004, "查询出错");

        /* 接口错误：60001-69999 */
        messageMap.put(60001, "内部系统接口调用异常");
        messageMap.put(60002, "外部系统接口调用异常");
        messageMap.put(60003, "该接口禁止访问");
        messageMap.put(60004, "接口地址无效");
        messageMap.put(60005, "接口请求超时");
        messageMap.put(60006, "接口负载过高");

        /* 权限错误：70001-79999 */
        messageMap.put(70001, "token过期");
        messageMap.put(70003, "验证码过期,请重新获取");
        messageMap.put(70004, "无效验证码,请核对");
        messageMap.put(70005, "该号码已与其他微信号绑定,请更换号码");
        messageMap.put(70008, "余额不足");
        messageMap.put(70009, "存在退款订单");
        messageMap.put(70012, "存在押金订单");
        messageMap.put(70010, "存在进行中订单");
        messageMap.put(70011, "陪护床正在使用");
        messageMap.put(70013, "订单超过十分钟");
        messageMap.put(70014, "存在待退还预付款");
        messageMap.put(70015, "未激活的陪护床");
        messageMap.put(70016, "禁用时段");
        messageMap.put(70017, "无效二维码");


        /* 商品模块 */
        messageMap.put(1001, "账号或密码错误");

    }

    public static Result retParam(Integer status, Object data) {
        if (status == 6004) {
            return new Result(status, data.toString(), null);
        }
        return new Result(status, messageMap.get(status), data);
    }


//    public static Result success(Integer status) {
//        return new Result(status, messageMap.get(status), null);
//    }
}